#ifndef GGE_ENTITY2D_H_INCLUDED
#define GGE_ENTITY2D_H_INCLUDED

class GGE_TEXTURE
{
private:

public:
  SDL_Surface *   varGGE_SURFACE;
  void Load       ( const char * varGGE_PATH_IMG );
  void Uload      ();
};

class GGE_Entity2D
{
private:
  int             varGGE_NFRAMES;
  int             varGGE_CONT;
  int             varGGE_STATE;
  GLuint          varGGE_TEXTURE;
  GLint           varGGE_NCOLORS;
  GLenum          varGGE_TEXTURE_FORMAT;
  float           varGGE_X;
  float           varGGE_Y;
  float           varGGE_ROTATION;
  float           varGGE_SCALE;
  float           varGGE_COLOR_R;
  float           varGGE_COLOR_G;
  float           varGGE_COLOR_B;
  float           varGGE_ALPHA;
  GGE_TEXTURE *   varGGE_SPRITE;

public:
  GGE_Entity2D    ( int nf );
  GGE_Entity2D    ();

  void Addframe   ( GGE_TEXTURE frameImg );
  void Draw       ( int _x, int _y  );
  void Rotate     ( float rotation );
  void Scale      ( float scale );
  void Color      ( float _r, float _g, float _b );
  void Alpha      ( float _alpha );
};

#endif // GGE_LIB_H_INCLUDED
